<html>
    <head>
        <title>菜单贡献者</title>
    </head>
    <body>
        <script>
            /*
                  1、菜单贡献者  IMenuContributor

                                                    为了添加菜单项（或操作现有项），您需要创建一个实现 "IMenuContributor" 接口 的类。

                                                    (应用程序启动模板已经包含IMenuContributor的实现。因此，您可以在该类中添加项目，而不是创建新项目。)

                                                    eg: 添加带有客户和订单子菜单项的CRM菜单项

                                                            using System.Threading.Tasks;
                                                            using MyProject.Localization;
                                                            using Volo.Abp.UI.Navigation;

                                                            namespace MyProject.Web.Menus
                                                            {
                                                                public class MyProjectMenuContributor : IMenuContributor  // 创建菜单贡献者类
                                                                {
                                                                    public async Task ConfigureMenuAsync(MenuConfigurationContext context)
                                                                    {
                                                                        if (context.Menu.Name == StandardMenus.Main)
                                                                        {
                                                                            await ConfigureMainMenuAsync(context);
                                                                        }
                                                                    }

                                                                    //  没当渲染菜单时，ABP都会调用此方法。
                                                                    private async Task ConfigureMainMenuAsync(MenuConfigurationContext context)
                                                                    {
                                                                        var l = context.GetLocalizer<MyProjectResource>(); // 获取本地化资源对象

                                                                        context.Menu.AddItem(  // 添加菜单项
                                                                            new ApplicationMenuItem("MyProject.Crm", l["Menu:CRM"]) // 添加应用程序菜单
                                                                                .AddItem(new ApplicationMenuItem(
                                                                                    name: "MyProject.Crm.Customers",  // 菜单项名称
                                                                                    displayName: l["Menu:Customers"],  // 显示名称
                                                                                    url: "/crm/customers") // 页面路径
                                                                                ).AddItem(new ApplicationMenuItem(
                                                                                    name: "MyProject.Crm.Orders", 
                                                                                    displayName: l["Menu:Orders"],
                                                                                    url: "/crm/orders")
                                                                                )
                                                                        );
                                                                    }
                                                                }
                                                            }

                                                            此示例仅将项目添加到主菜单（StandardMenus.Main：请参阅下面的Standard Menus部分）。

                                                            它从context到本地化获取一个IStringLocalizer菜单项的显示名称。

                                                            将客户和订单添加为CRM菜单的子级。

            */
        </script>
    </body>
</html>